const app = getApp()
const recorderManager = wx.getRecorderManager()

// var plugin = requirePlugin("WechatSI")
// let manager = plugin.getRecordRecognitionManager()

Page({
    data: {
        tempFilePath: '',
        // 搜索历史
        history: [
            '剩饭剩菜',
            '餐巾纸',
            '可乐瓶',
            '充电电池'
        ],
        // 搜索热门
        hot: [
            '果皮',
            '旧毛巾',
            '蛋壳',
            '剩饭剩菜',
            '餐巾纸',
            '可乐瓶',
            '充电电池',
            '馒头',
            '头发',
            '易拉罐',
            '蓄电池',
            '面包',
            '污损纸张',
            '旧书包',
            '荧光灯',
            '蛋糕',
        ],
        // 删除行为
        showActionsheet: false,
        // 删除弹框分组
        groups: [{
            text: '确定',
            value: 1
        }],
        // 语言识别class显示
        is_show: false,
        //  语言识别显示
        voice_show: false,
        // 搜索关键字
        searchKey: '',
        // 语音识别弹框显示
        dialogShow: false,
        // 
        garbage: {
            name: '苹果',
            category: '厨餐垃圾',
            // tip: '厨餐垃圾'
        },
        // 
        is_clock: false
    },
    onLoad() {},
    // 清空按钮
    openDelAction() {
        this.setData({
            showActionsheet: true
        })
    },
    // 清空行为
    closeDelAction: function () {
        this.setData({
            showActionsheet: false
        })
    },
    // 清空操作
    delHnader(e) {
        if (e.detail.value) {
            this.setData({
                history: []
            })
        }
        this.closeDelAction()
    },
    // 语言识别提示
    startRecord() {
        wx.showModal({
            title: '请长按录音',
        })
    },
    //语音识别 开始录音
    handleRecordStart(e) {
        this.setData({
            startPoint: e.touches[0], //记录触摸点的坐标信息
            is_show: true,
            is_clock: true
        })
        //录音参数
        const options = {
            duration: 10000,
            sampleRate: 44100,
            numberOfChannels: 1,
            encodeBitRate: 192000,
            format: 'pcm',
            frameSize: 50,
            audioSource: 'auto'
        }
        //开启录音
        // manager.start()

        recorderManager.start(options);
        wx.showToast({
            title: '正在录音，往上滑动取消发送',
            icon: 'none',
            duration: 10000
        })

    },
    //停止录音
    handleRecordStop() {
        wx.hideToast(); //结束录音、隐藏Toast提示框
        this.setData({
            is_show: false
        })
        recorderManager.onStop((res) => {
            // console.log(res);
            let tempFilePath = res.tempFilePath
            console.log(res.tempFilePath);
            // wx.downloadFile({
            //     url: tempFilePath,
            //     success(res) {
            //         console.log('res', res);
            //         wx.getFileSystemManager().readFile({
            //             filePath: res.tempFilePath,
            //             success(res) {
            //                 console.log(res.data);
            //                 // var userImgBase64 = 'data:image/jpg;base64,' + res.data
            //                 // console.log(userImgBase64);
            //                 //微信小程序参考代码，请确保在小程序后台设置了安全域名apis.tianapi.com
            //                 wx.request({
            //                     url: 'https://apis.tianapi.com/voicelajifenlei/index',
            //                     method: 'POST',
            //                     data: {
            //                         key: '00c3d71333fe69266c26a8b08fb4d556',
            //                         say: res.data,
            //                         format: 'pcm'
            //                     },
            //                     header: {
            //                         'Content-Type': 'application/x-www-form-urlencoded'
            //                     },
            //                     success: function (res) {
            //                         if (res.data.code == 200) {
            //                             console.log(res.data)
            //                             // that.setData({
            //                             //   tianapi_data: res.data.result //返回内容更新到视图层{{tianapi_data}}
            //                             // })
            //                         }
            //                     },
            //                     fail: function (err) {
            //                         console.log(err)
            //                     }
            //                 })
            //             }
            //         })
            //     }
            // })
            // this.setData({
            //     tempFilePath: tempFilePath
            // })

            // wx.uploadFile({
            //     filePath: tempFilePath,
            //     name: 'file',
            //     url: 'http://www.recyle',
            //     header: {
            //         contentType: "multipart/form-data", //按需求增加
            //     },
            // })
        }) //结束录音
    },
    //滑动取消发送
    handleTouchMove: function (e) {
        //计算距离，当滑动的垂直距离大于25时，则取消发送语音
        if (this.data.startPoint.clientY - Math.abs(e.touches[e.touches.length - 1].clientY) > 35) {
            wx.showToast({
                title: "松开手指,取消发送",
                icon: "none",
                duration: 10000
            });
            this.setData({
                is_clock: false //设置为不发送语音
            })
        } else {
            wx.showToast({
                title: '正在录音，往上滑动取消发送',
                icon: 'none',
                duration: 10000
            })
            this.setData({
                is_clock: true
            })
        }
    },
    // 打开语言识别
    openVoice() {
        this.setData({
            voice_show: true
        })
    },
    // 关闭语言识别
    closeVoice() {
        this.setData({
            voice_show: false
        })
    },
    //播放录音
    play: function () {
        // 获取innerAudioContext实例
        const innerAudioContext = wx.createInnerAudioContext()
        // 是否自动播放
        innerAudioContext.autoplay = true
        // 设置音频文件的路径
        innerAudioContext.src = this.data.tempFilePath;
        // 播放音频文件
        innerAudioContext.onPlay(() => {
            console.log('开始播放')
        });
        // 监听音频播放错误事件
        innerAudioContext.onError((res) => {
            console.log(res.errMsg)
            console.log(res.errCode)
        })
    },
    closeDialog() {
        this.setData({
            voice_show: false
        })
    },
    // 搜索确认
    inputConfirm(e) {
        let val = e.detail.value
        let history = this.data.history
        history.push(val)
        this.setData({
            searchKey: val,
            history: history
        })
    },
    // 搜索历史,热门搜索点击事件
    tagClick(e) {
        console.log(e.currentTarget.dataset.tag);
        this.setData({
            searchKey: e.currentTarget.dataset.tag
        })
    }
})